/*
 * UdpSession.h
 *
 *  Created on: 27/08/2011
 *      Author: george
 */

#include "types.h"
#include <string>
#include <sstream>
#include <fstream>
#include <iostream>


#ifndef UDPSESSION_H_
#define UDPSESSION_H_

class UdpSession {
public:
	u_int16_t attributes;

	u_int16_t src_port;
	u_int16_t dst_port;

	struct in_addr src;
	struct in_addr dst;

	u_int16_t protocol;

//	Arquivo que armazenará os pacotes
	std::ofstream packets;

//	Nome legivel da origem e destino da sessao icmp
	std::string srcaddr;
	std::string dstaddr;

//	Nome do arquivo que armazena os pacotes da sessao
	std::string filename;
	std::stringstream protocol_name;
	std::stringstream src_port_name;
	std::stringstream dst_port_name;

	UdpSession(struct in_addr src, struct in_addr dst, u_int16_t src_port, u_int16_t dst_port, u_int8_t protocol);
	bool add(udp_hdr_t *udp);
	void close();

	~UdpSession(){
		std::cout << "FOI UDP" << std::endl;
	}
};

#endif /* UDPSESSION_H_ */
